package com.dream.sys.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.baomidou.mybatisplus.service.IService;
import com.dream.commons.result.PageInfo;
import com.dream.sys.model.Role;
import com.dream.sys.model.DTO.roleDto.RoleDto;
import com.dream.sys.model.DTO.roleDto.RoleListReqDto;

/**
 * Role 表数据服务层接口
 */
public interface RoleService extends IService<Role> {

	/**
     * 新增角色
     * @param userDto
     */
    void insertByDto(RoleDto roleDto);
   /**
    * 角色列表
    * @param pageInfo
    */
    PageInfo<Role> selectDataGrid(RoleListReqDto roleListReqDto);
    
    /**
     * 根据id删除
     * @param id
     */
    void deleteRoleById(Long id);
    
    /**
     * 批量删除role
     * @param ids
     * @return
     */
    int deleteRoles(String[] ids);
    
    
    /**
     * 	获取所有数据
     * @return
     */
	List<Role> selectAll();
	
	/**
	 * 根据id查询数据
	 * @return
	 */
	Role selectById(String id);
	
	/**
	 * 跟新role
	 * @param roleDto
	 */
    void updateRole(RoleDto roleDto); 
	
	
    Object selectTree();

    List<Long> selectResourceIdListByRoleId(Long id);



    Map<String, Set<String>> selectResourceMapByUserId(Long userId);

}